package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.entity.system.SysTaocanOrder;

import java.util.List;

/**
 * 套餐计费订单Service接口
 *
 * @author zjw
 * @date 2023-08-22
 */
public interface ISysTaocanOrderService {
    /**
     * 查询套餐计费订单
     *
     * @param orderId 套餐计费订单主键
     * @return 套餐计费订单
     */
    public SysTaocanOrder selectSysTaocanOrderByOrderId(String orderId);

    /**
     * 查询套餐计费订单列表
     *
     * @param sysTaocanOrder 套餐计费订单
     * @return 套餐计费订单集合
     */
    public List<SysTaocanOrder> selectSysTaocanOrderList(SysTaocanOrder sysTaocanOrder);

    /**
     * 新增套餐计费订单
     *
     * @param sysTaocanOrder 套餐计费订单
     * @return 结果
     */
    public int insertSysTaocanOrder(SysTaocanOrder sysTaocanOrder);

    /**
     * 修改套餐计费订单
     *
     * @param sysTaocanOrder 套餐计费订单
     * @return 结果
     */
    public int updateSysTaocanOrder(SysTaocanOrder sysTaocanOrder);

    /**
     * 批量删除套餐计费订单
     *
     * @param orderIds 需要删除的套餐计费订单主键集合
     * @return 结果
     */
    public int deleteSysTaocanOrderByOrderIds(String[] orderIds);

    /**
     * 删除套餐计费订单信息
     *
     * @param orderId 套餐计费订单主键
     * @return 结果
     */
    public int deleteSysTaocanOrderByOrderId(String orderId);

    SysTaocanOrder queryUnpaidOrder(Long userId);

    SysTaocanOrder queryToUseOrder(Long userId);

    SysTaocanOrder queryUsingOrder(Long userId);

    SysTaocanOrder queryInProgressOrder(Long userId);

    List<SysTaocanOrder> queryFulfilledOrder(Long userId);

    List<SysTaocanOrder> queryAllOrder(Long userId);
}
